package com.og.ouroa.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.og.ouroa.pojo.entity.Course;
import com.og.ouroa.pojo.entity.CourseStudent;
import com.baomidou.mybatisplus.extension.service.IService;
import com.og.ouroa.pojo.entity.UserInfo;
import com.og.ouroa.pojo.vo.GradeTopVO;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Us
 * @since 2021-12-13
 */
public interface CourseStudentService extends IService<CourseStudent> {

    //学生选课查询(连表待加)
    IPage<Course> getBySid(Page<Course> page,Integer sid);

    //选课查询(连表待加)
    IPage<UserInfo> getByCid(Page<UserInfo> page, Integer cid);

    //单个成绩查询
    CourseStudent getGrade(Integer sid,Integer cid);

    //及格人数
    Integer countPass(Integer cid);

    //选课人数
    Integer countSelection(Integer cid);

    //成绩排序查询
    IPage<GradeTopVO> ListByCidTop(Page<GradeTopVO> page, Integer cid, Integer TYPE,Double grade);

    //选课
    void insert(Integer sid,Integer cid);
    //成绩录入
    void insertGrade(Integer sid,Integer cid, Double grade);

    //退课
    void delete(Integer sid,Integer cid);

    //单个学生所有成绩
    IPage<CourseStudent> ListBySid(Page<CourseStudent> page, Integer sid);



}
